package com.hxzy.system.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hxzy.common.core.domain.entity.PzServiceItem;
import com.hxzy.common.core.domain.entity.SysDictData;
import com.hxzy.system.domain.dto.PzServiceItemDTO;

import java.util.List;

public interface PzServiceItemService extends IService<PzServiceItem> {

    IPage<PzServiceItem> search(PzServiceItemDTO pzServiceItemDTO);

    /**
     * 行政审批事项编码是否唯一
     * @param approveItemCode
     * @return
     */
    int selectByApproveItemCodeUnique(String approveItemCode);

    /**
     * 中介服务 新增数据
     * @param pzServiceItem
     * @return
     */
    int add(PzServiceItem pzServiceItem);

    /**
     * 删除数据
     * @param id
     * @return
     */
    boolean deleteByIds(Long[] id);

    /**
     * 查看详情
     * @param id
     * @return
     */
    PzServiceItem getInfo(Long id);

    /**
     * 修改数据
     * @param pzServiceItem
     * @return
     */
    int updateByPzId(PzServiceItem pzServiceItem);

    /**
     * 行政审批事项下拉列表
     * @return
     */
    List<SysDictData> approveItemNameList();

    /**
     * 中介资质类型
     * @return
     */
    List<SysDictData> serviceTypeIdList();

    /**
     * 委托方列表
     * @return
     */
    List<SysDictData> consigorList();

    /**
     * 资质等级列表
     * @return
     */
    List<SysDictData> certificateGradeList();

    /**
     * 是否收费列表
     * @return
     */
    List<SysDictData> serviceChargeList();

    /**
     * 委托类型列表
     * @return
     */
    List<SysDictData> delegateTypeIdList();

    /**
     * 收费方列表
     *
     * @return
     */
    List<SysDictData> paymentList();

    /**
     * 为前台提供分页查询
     *
     * @param pzServiceItemDTO
     *
     * @return
     */
    IPage<PzServiceItem> searchOfFront(PzServiceItemDTO pzServiceItemDTO);

}
